
#pragma once
#include "ShaderNode.h"

class ShaderQuaternion : public ShaderNode
{
public:
	ShaderQuaternion();
	virtual ~ShaderQuaternion() = default;

public:
	virtual bool isValid() { return true; }
	virtual void release();
	virtual void init();

public:
	static std::shared_ptr<ShaderQuaternion> create()
	{
		auto shader = std::make_shared<ShaderQuaternion>();
		shader->init();
		return shader->isValid() ? shader : nullptr;
	}
};

typedef std::shared_ptr<ShaderQuaternion> ShaderQuaternionPtr;